Skip to content

feat(dareu): add A950 PRO Mg controls - #218

Closed
PHATWalrus wants to merge 4 commits into
OpenMouse-Project:mainfrom
PHATWalrus:feat/dareu-a950-pro-mg
Closed

feat(dareu): add A950 PRO Mg controls#218
PHATWalrus wants to merge 4 commits into
OpenMouse-Project:mainfrom
PHATWalrus:feat/dareu-a950-pro-mg

Conversation

@PHATWalrus

@PHATWalrus PHATWalrus commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Wire the Dareu A950 PRO Mg driver into OpenMouse.
  • Enable battery, firmware, DPI stages, polling, profiles, safe button mappings, DPI-indicator, and sleep controls.
  • Put the Dareu DPI-indicator and mouse sleep controls in Overview power settings.
  • Add the contributor-supplied local product artwork and catalog PID consistency coverage.

Dependency

Depends on OpenMouse-Project/mouse-protocol#78. The manifest remains unchanged; after #78 merges, a lockfile-only follow-up will pin its upstream revision.

Hardware verification

  • Device: Dareu A950 PRO Mg (TM271F)
  • Verified connection:
    • 2.4 GHz receiver (260D:1114)
  • Recognized but not hardware-verified:
    • Wired mouse (1117)

Supported controls

  • Battery and firmware information
  • DPI stage count, active stage, and shared X/Y DPI (the vendor model declares DpiXOnly)
  • Wired and receiver-specific polling rates
  • Four onboard profiles
  • Six button mappings; unknown/macro assignments remain read-only
  • DPI-indicator effect, brightness, speed, and its separate sleep timeout
  • Mouse auto-sleep timeout

Verification

  • OpenMouse npm run check (132/132 tests)
  • npm test after catalog qualification (133/133 tests)
  • Catalog PID consistency test explicitly compares both Dareu IDs with the protocol catalog
  • git diff --check

Notes

The supported-device catalog marks this entry pr until protocol PR #78 lands and the wired path is hardware-verified. No Dareu-specific preview route or fixture was added: OpenMouse already supplies that development-only system. The panel PR remains a draft until protocol PR #78 merges.

@PHATWalrus PHATWalrus changed the title feat: add Dareu A950 PRO Mg controls feat(dareu): add A950 PRO Mg controls Sep 7, 2026
@snekxs

snekxs commented Sep 11, 2026

Copy link
Copy Markdown
Member

Flagging for a maintainer rather than force-resolving: like #217, this branch predates the repo's landing-site split (main removed src/supported-mice.ts and the whole landing/marketing site — that content moved to a separate openmouse-landing-page repo, commit 01906c9) and a large unrelated app reorganization. A mechanical merge touches ~140 unrelated files. The real content — the Dareu A950 PRO Mg driver controls in src/device/controller.ts, src/device/traits.ts, AdvancedCards.tsx, DpiCard.tsx, and the device artwork — is still valuable but needs re-deriving by hand against current main rather than a blind merge, especially since it touches real HID write paths (extra scrutiny warranted for a new device driver). Happy to redo this as a clean replacement PR if a maintainer confirms the Dareu A950 PRO Mg protocol details in the original PR are still accurate.

@PHATWalrus

Copy link
Copy Markdown
Contributor Author

Clean replacement: #246 is rebased on current main and pins the merged Dareu protocol driver from OpenMouse-Project/mouse-protocol#89. npm ci && npm run check passes (134/134) on the replacement. I have left this historical draft open rather than force-resolving its obsolete conflict.

snekxs added a commit that referenced this pull request Sep 12, 2026
* feat(dareu): add A950 PRO Mg controls

* chore: refresh @openmouse/protocol lockfile to latest main

Claude-Session: https://claude.ai/code/session_01JfTcrhgBuFh8QiLvbtdJCX

---------

Co-authored-by: PhatWalrus <harshit.sinha2017@gmail.com>
@snekxs

snekxs commented Sep 12, 2026

Copy link
Copy Markdown
Member

This was re-derived cleanly as #246 and then merged (after resolving further conflicts) as #252. Closing this original in favor of that — thank you for the Dareu A950 PRO Mg work!

@snekxs snekxs closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants